Electronic devices, such as mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties. When a build of the memory image of firmware and/or software for an electronic device is created in, for example, a manufacturing or product development environment, often the information regarding the firmware and/or software components in the build is lost or discarded. Thus, a subsequent execution of another build cannot make use of information from a previous build. In situations where it is important to discover how a given build is different from a previous build, there is often limited information available, and what is available may be inadequate to determine the changes between builds.
There is a problem in linking firmware and/or software components when the profile of the components in a build is not known prior to the execution of a build. Often, for the computation of difference information between binary images created from two builds, a prediction of instructions is conducted using a predictor tool. The prediction may be based on the heuristic methods. A generator that generates the difference information from the binary images may not know where prediction reference points are. Thus, the verification of the prediction result becomes very difficult. Another problem is that the linker used during the builds controls object linking. Information produced by the linker information is typically not saved for subsequent linking operations. The ordering or sequence information for the various firmware/software components or objects in a build is normally not available. It is not common that a user needs to maintain the object sequence since it does not affect firmware/software functionality. Lack of the object ordering or sequence information is a big problem during the generation of difference information, as it has an impact on efficiency of the generation process and the compactness of the generated update package.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.